let arr = [1, 2, 3]

const iterator = arr[Symbol.iterator]() // { next(){ ... } }

while (true) {
	let res = iterator.next() // { done: false/true（迭代状态）, value: 1（迭代值） }
	if (res.done) break
	console.log(res.value) // 1 2 3
}

// ***********************************************************************************

let str = 'test'

const iter = str[Symbol.iterator]() // { next(){ ... } }

while (true) {
	let res = iter.next() // { done: false/true（迭代状态）, value: 't'（迭代值） }
	if (res.done) break
	console.log(res.value) // t e s t
}
